Міністерство освіти і науки України
Національний університет "Львівська політехніка"
Кафедра "Інформаційні системи та мережі "
Р О З Р А Х У Н К О В А Р О Б О Т А
з дисципліни
" Сиcтемне програмування та операційні системи "
на тему:
«Робота з файлами на мові Intel Assembler»
" Сиcтемне програмування та операційні системи "
студенту групи КН-27 Зубику В.І.
Завдання:
Створити файл записів: дата, температура, погода (хмарно, сонячно,дощ, сніг). Визначити місяць з найбільшою середньою температурою. Після виконання операцій задати атрбут файлу тільки для читання.
ЗМIСТ ЗАВДАННЯ ТА КАЛЕНДАРНИЙ ПЛАН ЙОГО ВИКОНАННЯ
1.
Провести вивчення лiтературних джерел по заданій темі.
2.
Розробити алгоритм розв’язування задачі
3
Написати програму на мові Assembler
4.
Підготувати вхiднi дані для контрольного прикладу, реалізувати та вiдлагодити програму
5.
Оформити записку до розрахункової роботи згідно вимог
Міжнародних стандартів, дотримуючись такого змісту:
- вступ;
- формулювання задачі;
- алгоритм розв'язування задачі
- опис програми;
- інструкція користувачеві;
- контрольний приклад та аналіз результатів;
- висновки;
- література;
- додатки
ЗАВДАННЯ ПРИЙНЯТО ДО ВИКОНАННЯ: ____________
пiдпис студента
Керівник роботи: _______________ Кравець П.О.
Формулювання задачі.
Формулювання задачі:
Створити файл записів: дата, температура, погода (хмарно, сонячно,дощ, сніг). Визначити місяць з найбільшою середньою температурою. Після виконання операцій задати атрбут файлу тільки для читання.
Програма може виконуватися на операційній системі DOS, та її емуляцією під Windows. Для її виконання потрібні мінімальні характеристики комп’ютера, головне обладнання: клавіатура, пристрій виведення інформації, та будь-який носій даних (з файловою системою FAT для операційної системи DOS). Вхідні дані передаються в програму за допомогою клавіатури, введення супроводжується підказками. Числові дані вводяться в десятковій системі.
Методи та засоби розв’язування задачі.
Для розв'язку задачі я використав компілятор TASM 4.1. Розробляв та запускав у операційній систмі Windows XP SP3. Для набирання програми використав текстовий редактор “Bred3” Для компіляції я використовував наступний BAT-файл:
del %1.exe
tasm /zi %1.asm
tlink /v %1.obj
del %1.obj
del %1.map
Теорія, порібна для розвязування задачі:
Структури:
Директива STRUC дозволяє визначити структуру даних аналогічно структурам в мовах високого рівня. Послідовність директив
ім'я struc
поля
ім'я ends
де поля — будь-який набір псевдокоманд визначення змінних або структур, встановлює, але не ініціалізовує структуру даних. Надалі для її створення в пам'яті використовують ім'я структури як псевдокоманда:
мітка ім'я <значення>
Для читання або запису в елемент структури використовується оператор «.» (крапка). Для доступу до структур можна використовувати індексну та базово-індексну адресацію. Наприклад:
mov st[si].info,1 - індексна адресація та mov [bx + si].info,1 – базово-індексна адресація
Макроси:
Один з найпотужніших мовних засобів асемблера — макровизначення. Макровизначенням (або макросом) називається ділянка програми, якій привласнено ім'я і який асемблюється кожен раз, коли асемблер зустрічає це ім'я в тексті програми. Макрос починається директивою MACRO і закінчується ENDM.
Ім’я macro параметри
<тіло>
endm
Зрозуміло, можна оформити цю ж ділянку коду у вигляді процедури і викликати її командою CALL — якщо процедура викликається більше одного разу, цей варіант програми займе менше місця, але варіант з макровизначенням стане виконуватися швидше, оскільки в ньому не буде зайвих команд CALL і RET. Проте швидкість виконання — не головна перевага макросів. На відміну від процедур макровизначення можуть викликатися з параметрами, отже, залежно від...